home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / linklist / source.lha / list.h < prev    next >
C/C++ Source or Header  |  1993-08-08  |  3KB  |  100 lines

  1. #define    lBUBBLE        1    /* bubble sorting algorithm */
  2. #define    lHEAP        2    /* heap sorting algorithm */
  3. #define    lINSERT        3    /* insert sorting algorithm */
  4. #define    lQUICK        4    /* quick sorting algorithm */
  5. #define    lSELECTION    5    /* selection sorting algorithm */
  6.  
  7. /* Sorting defines by shane.s.brath@uwrf.edu */
  8. #define lASCENDING 1
  9. #define lDESCENDING -1
  10.  
  11. #define    lSAME        1    /* compared nodes are the same */
  12. #define    l1LT2        2    /* first node is less than second node */
  13. #define    l2LT1        3    /* second node is less than first node */
  14.  
  15. #define    lSUCCESS    0    /* function call ended successfully */
  16.  
  17. #define    lSINGLY        1    /* singly linked list */
  18. #define    lDOUBLY        2    /* doubly linked list */
  19. #define    lCHAIN        3    /* chain linked list */
  20. #define    lCIRCULAR    4    /* circular linked list */
  21.  
  22. #define    lFIRST        1    /* add at front of list */
  23.                 /* get/find/delete first node */
  24. #define    lPREVIOUS    2    /* get/find previous node */
  25. #define    lBEFORE        3    /* add before current node */
  26. #define    lCURRENT    4    /* get/delete current node */
  27. #define    lAFTER        5    /* add after current node */
  28. #define    lNEXT        6    /* get/find next node */
  29. #define    lLAST        7    /* add at end of list */
  30.                 /* get/find/delete last node */
  31.  
  32. #define    lONE_NODE    10    /* add first node to list / delete last node */
  33.  
  34. #define    lWRONG_SD    -1    /* parameter 'sd' has wrong value */
  35. #define    lWRONG_CC    -2    /* parameter 'cc' has wrong value */
  36. #define    lWRONG_WHERE    -3    /* parameter 'where' has wrong value */
  37. #define    lWRONG_WHICH    -4    /* parameter 'which' has wrong value */
  38. #define    lUNKNOWN_ID    -5    /* list id is unknown */
  39. #define    lUNKNOWN_FUNC    -6    /* function name is unknown */
  40. #define    lNO_LIST    -7    /* there are no lists defined */
  41. #define    lEMPTY_LIST    -8    /* list is empty */
  42. #define    lEOL        -9    /* end of list reached */
  43. #define    lNOT_FOUND    -10    /* node not found */
  44. #define    lNOT_DOUBLY    -11    /* list is not doubly linked */
  45. #define    lSIZE_NE    -12    /* size of expected data and node not equal */
  46. #define    lWRONG_INDEX    -13    /* 'index' out of range */
  47. #define    lOPEN_ERROR    -14    /* can't open dump-file */
  48. #define    lWRONG_ORDER    -15    /* parameter 'order' has wrong value */
  49. #define    lWRONG_THEORY    -16    /* parameter 'theory' has wrong value */
  50.  
  51. #define    lFOUND        0    /* node found */
  52.  
  53. #ifdef MSDOS_OR_VAXC
  54. #define    lERROR_FILE    "linklist.err"
  55. #else
  56. #define    lERROR_FILE    "=listError="
  57. #endif
  58.  
  59. #ifdef ANSI
  60. typedef    int        (*Func)();
  61. typedef    unsigned char    Byte;
  62. int lDef(int sd, int cc);
  63. int lInfo(int id, int *sd, int *cc, int *n);
  64. int lSort(int id, int order, int theory, Func func);
  65. int lDump(int id, char *file);
  66. int lUndump(char *file);
  67. int lDel(int id);
  68. int lDelAll(void);
  69. int lInsNode(int id, int where, Byte *data, int size, int flag);
  70. int lInfoNode(int id, int which, int *size, int *flag);
  71. int lGetNode(int id, int which, Byte *data, int size);
  72. int lFndNode(int id, int where, Func func, Byte *ptr, Byte *data, int size);
  73. int lFndFlagNode(int id, int where, int flag, Byte *data, int size);
  74. int lUpdNode(int id, Byte *data, int size, int flag);
  75. int lDelNode(int id, int which);
  76. int lInfoIndxNode(int id, int index, int *size, int *flag);
  77. int lGetIndxNode(int id, int index, Byte *data, int size);
  78. int lUpdIndxNode(int id, int index, Byte *data, int size, int flag);
  79. int lDelIndxNode(int id, int index);
  80. #else
  81. int lDef();
  82. int lInfo();
  83. int lSort();
  84. int lDump();
  85. int lUndump();
  86. int lDel();
  87. int lDelAll();
  88. int lInsNode();
  89. int lInfoNode();
  90. int lGetNode();
  91. int lFndNode();
  92. int lFndFlagNode();
  93. int lUpdNode();
  94. int lDelNode();
  95. int lInfoIndxNode();
  96. int lGetIndxNode();
  97. int lUpdIndxNode();
  98. int lDelIndxNode();
  99. #endif
  100.